100 PRINT CHR$(147):PRINT " SIDPLAYER DEMONSTRATION" 110 PRINT " BY CRAIG CHAMBERLAIN":PRINT 120 DN=8:SA=780:SX=781:SY=782:SP=783 130 CY=214:DIM C$(15):FOR K=0 TO 15:READ P:C$(K)=CHR$(P):NEXT 140 GOSUB 57000:F$="SCIPIO":LA=PEEK(49)+256*PEEK(50)+1000:GOSUB 57500 150 SYS HK:POKE SX,LO:POKE SY,HI:SYS PL:REM READY TO PLAY SONG 200 PRINT CHR$(147):POKE 53280,0:POKE 53281,0 210 FOR K=832 TO 894:READ P:POKE K,P:NEXT:REM DEFINE SPRITE 220 FOR K=0 TO 7:POKE 2040+K,13:READ C:POKE 53287+K,C 230 POKE 53248+K*2,(34+K*40)AND255:POKE 53249+K*2,70+RND(0)*20:NEXT 240 POKE 53264,192:POKE 53271,0:POKE 53277,0 250 FOR K=1 TO 3:POKE CY,3:PRINT:PRINT TAB(5) C$(K) "PRESENTING..." 260 FOR J=1 TO 20:NEXT J,K:FOR K=1 TO 750:NEXT 270 FOR K=0 TO 3:POKE CY,3:PRINT:PRINT TAB(5) C$(3-K) "PRESENTING..." 280 FOR J=1 TO 20:NEXT J,K:FOR K=1 TO 300:NEXT:POKE SS,7 300 FOR K=1 TO 3:POKE CY,6:PRINT 310 IF PEEK(FL)<>K GOTO 310 320 PRINT TAB(10) C$(K) "ENHANCED SIDPLAYER":NEXT:WAIT FL,1,1:PRINT:PRINT 330 WAIT FL,1:PRINT TAB(10) "A COMPLETE":PRINT TAB(10) "MUSIC SYSTEM" 340 PRINT TAB(10) "FOR THE COMMODORE 64" 400 WAIT FL,1,1:PRINT CHR$(147):POKE 53269,255:POKE CY,8:PRINT 410 PRINT "FEATURES:":PRINT:PRINT "JOYSTICK OR KEYBOARD NOTE ENTRY":PRINT 415 PRINT "SUPPORTS ANY TIME SIGNATURE":PRINT 420 PRINT "MEASURE EDITING":PRINT:PRINT "TRANSPOSING BY HALF STEPS":PRINT 430 PRINT "EASY INSERT/DELETE/REPLACE EDITING":PRINT 440 PRINT "SIMPLE ENOUGH FOR A NOVICE TO USE":PRINT 450 POKE 53249+INT(RND(0)*8)*2,70+RND(0)*20:IF PEEK(FL)=0 GOTO 450 500 POKE 53269,0:PRINT CHR$(147):PRINT:PRINT:PRINT "PLUS..." 510 FOR K=5 TO 13 STEP 2:READ S$:POKE CY,K:PRINT:PRINT TAB(10) S$ 520 POKE CY,K:PRINT:PRINT TAB(10);:FOR J=1 TO 10:PRINT CHR$(20); 530 FOR I=1 TO 32:NEXT I,J,K:PRINT:PRINT:PRINT 540 WAIT FL,1,1:PRINT "AND BEST OF ALL,":PRINT "MUSIC CREATED BY SIDPLAYER" 550 PRINT "CAN BE MERGED WITH":PRINT "YOUR BASIC PROGRAMS":WAIT FL,1 600 PRINT CHR$(147):POKE CY,10:PRINT:PRINT " SIDPLAYER";:WAIT FL,1,1 610 PRINT TAB(15) "SIDPLAYER";:WAIT FL,1:PRINT TAB(30) "SIDPLAYER":WAIT FL,1,1 630 PRINT CHR$(147):FOR K=1 TO 23:PRINT C$(RND(0)*12+4) " SIDPLAYER" 640 FOR J=1 TO 30:NEXT J,K 650 FOR K=22 TO 0 STEP -1:POKE CY,K:PRINT 660 PRINT TAB(15) C$(RND(1)*12+4) "SIDPLAYER":FOR J=1 TO 30:NEXT J,K 670 POKE CY,0:PRINT:FOR K=1 TO 23:PRINT C$(RND(0)*12+4) TAB(30) "SIDPLAYER" 680 FOR J=1 TO 30:NEXT J,K 690 IF PEEK(FL)<>1 GOTO 690 700 PRINT CHR$(147):POKE CY,16:PRINT:PRINT TAB(25) C$(3) "THAT'S":WAIT FL,1,1 710 PRINT TAB(27) "ALL,":WAIT FL,1:PRINT TAB(25) "FOLKS!" 720 IF PEEK(SS)AND7 GOTO 720 730 SYS HU:SYS DP:PRINT CHR$(147) CHR$(154);:POKE 53280,14:POKE 53281,6:END 800 DATA 144,151,152,155,5,28,30,31,129,149,150,153,154,156,158,159 810 DATA 0,3,192,0,3,224,0,3,240,0,3,120,0,3,56,0,3,28,0,3,12,0,3,0,0,3,0 820 DATA 0,3,0,7,227,0,31,251,0,63,255,0,127,255,0,127,255,0,127,254,0 830 DATA 63,252,0,31,248,0,7,224,0,0,0,0,0,0,0 840 DATA 10,7,4,13,5,3,8,15 850 DATA "ENVELOPES AND WAVEFORMS","REPEATS AND PHRASES" 860 DATA "AUTOMATIC FILTER MODE","GLISSANDO AND VIBRATO" 870 DATA "MANY OTHER FEATURES" 57000 POKE SA,1:POKE SX,DN:POKE SY,1:SYS 65466:F$="SID.OBJ.64":GOSUB 59000 57010 POKE SA,0:SYS 65493:IF PEEK(SP)AND1 GOTO 59100 57020 SS=49152:FL=49153:HK=49615:PL=49664:HU=49897:DP=49935:RETURN 57500 POKE SA,1:POKE SX,DN:POKE SY,0:SYS 65466:F$=F$+".MUS":GOSUB 59000 57510 HI=INT(LA/256):LO=LA-256*HI 57520 POKE SA,0:POKE SX,LO:POKE SY,HI:SYS 65493:IF PEEK(SP)AND1 GOTO 59100 57530 LA=PEEK(SX)+256*PEEK(SY):RETURN 59000 FOR K=1 TO LEN(F$):POKE 584+K,ASC(MID$(F$,K)):NEXT 59010 POKE SA,LEN(F$):POKE SX,73:POKE SY,2:SYS 65469:RETURN 59100 P=PEEK(SA):PRINT " ERROR: ";:IF P=4 THEN PRINT "FILE NOT FOUND":END 59110 IF P=5 THEN PRINT "DEVICE NOT PRESENT":END 59120 PRINT ST:END